Emitter identification from radio signals using filter bank algorithm

ABSTRACT

An algorithm for emitter identification of a transmitting platform using spectral energy analysis, and a system utilizing said algorithm, wherein said algorithm processes audio signals from transmission data using a fast fourier transform, detecting gaps in said processed transmission data. It then extracts spectral features consisting of normalized energy per unit frequency from said gaps. The algorithm and system then proceed to execute a decision function based on said extracted characteristic features to identify the platform of said transmitter based on said features. A second algorithm, which may be executed in parallel with the first by said system, processes the same transmission data to detect transmission activity on a radio channel in the audio frequency range, and to detect the boundaries of transmitter keyclicks at the beginning and end of said transmission. The algorithm extracts keying envelopes from said detected keyclick boundaries, and analyzes said keying envelopes to extract features characteristic of said keyclicks. The algorithm and system then correlate identification of said emitter platforms based on said extracted spectral features with identification of said emitter platforms based on said extracted keyclick features.

CROSS-REFERENCE TO RELATED APPLICATION

This application is related to another application entitled EMITTER IDENTIFICATION FROM RADIO SIGNALS USING KEYCLICK ALGORITHM, filed simultaneously herewith, having the same inventors and assigned to the same assignee as this application, and which is incorporated herein be reference.

This invention was made with Government support under Contract No. F30602-87-D-0085/0010 awarded by the Department of the Air Force. The Government has certain rights in this invention.

BACKGROUND OF THE INVENTION

This application pertains generally to digital signal processing, and in particular to the processing of detected radio signals emitted in the audio frequency bands. Specifically, this invention pertains to an algorithm which analyzes unintentional emissions from audio frequency emitting platforms using transmitters and identifies the emitting platforms by analysis of the gaps between speech transmissions.

Intercepted audio band transmissions from unknown sources frequently contain modulations other than those associated with voice. These modulations can be generated by propulsion systems, transmitters, heating and cooling equipment, or other systems associated with the transmitting platform, and are unintentional. Such unintentional modulations can permit platform identification when properly detected, analyzed, and interpreted.

Various governmental and industrial organizations have signal collection activities which gather massive amounts of voice channel data. This data is or is not of interest, depending on the information contained in the voice signal and any additional information that might be gleaned from the channel itself. Additional data from unintentional modulations can be used to assist in culling uninteresting data and as a means of providing “external” cues to the identity or location of the transmitting device. Such information is of value in search and rescue missions. Exploring possible analysis techniques for exploiting unintentional modulations is a continuing activity of these organizations.

Some of these organizations are interested in the use of passive devices to detect, select, and identify signal sources of interest. Since the activities of the signal sources frequently are accompanied by radio transmissions, it was deemed possible to identify the emitting platform by detecting and identifying unintentional modulations imposed on the transmission. In addition, classifying emitters based on unintentional modulations can enhance the correlation of identification data from other, usually known reliable, sources.

SUMMARY OF THE INVENTION

The principal object of this invention is to provide a feasible method of using non-speech audio band information to obtain identification information pertaining to the emitting platform.

A further object of the invention is to provide a method for identification of the emitting platform by detecting and identifying unintentional modulations imposed on the transmission.

Still a further object of the invention is to provide a method for classifying emitters based on unintentional modulations to enhance the correlation of identification data from other sources.

Still another object of the invention is to provide a method to identify the emitting platform based on its unique normalized energies in seven bandpass filters, which are feature signatures of unintentional modulations.

Another object of this invention is to provide an algorithm to automatically detect gaps in speech transmissions, and to analyze unique spectral features present in the gaps, the accuracy of the resulting algorithm performance being based on the “ground truth” associated with several emitting platforms.

Other objects, features and advantages of the invention will be apparent to those skilled in the art from the following description of the preferred embodiments.

In a first aspect of this invention, a system for emitter identification of a transmitting platform using spectral energy analysis, comprises a means to process recorded transmission activity on a radio channel in the audio frequency range with a fast fourier transform algorithm; a means to detect gaps in speech in said processed transmission data; and a means to process said gaps to extract spectral features characteristic of said transmitting platform from said gaps. It then processes the results to execute a decision function based on said extracted characteristic features to identify the platform of said transmitter based on said features.

In a second aspect of this invention, the system also includes a means to detect transmission activity on a radio channel in the audio frequency range and a means to detect the boundaries of transmitter keyclicks at the beginning and end of said transmission. It further includes means to extract keying envelopes from said detected keyclick boundaries and means to analyze said keying envelopes to extract features characteristic of said keyclicks. Finally, the system has means to execute a decision function based on correlating both sets of said extracted characteristic features to identify the platform of said transmitter based on the features of said keyclick.

In a third aspect of the invention, a method of emitter identification comprises the steps of: processing audio transmission data using a fast fourier transform; detecting gaps in said processed transmission data; extracting spectral features consisting of normalized energy per unit frequency; extracting spectral features of each transmission from said gaps; and executing a decision function for identification of said emitter platforms based on said extracted spectral features

In a fourth aspect of the invention, the method of emitter identification of a transmitting platform further includes using microphone keyclick analysis, comprising the steps of: detecting transmission activity on a radio channel in the audio frequency range; detecting the boundaries of transmitter keyclicks at the beginning and end of said transmission; extracting keying envelopes from said detected keyclick boundaries; analyzing said keying envelopes to extract features characteristic of said keyclicks; and executing a decision function correlating the identification of said emitter platforms based on said extracted keyclick features and said extracted characteristic spectral features to identify the platform of said transmitter.

Other objects, features and advantages of the invention will be apparent to those skilled in the art from the following description of the preferred embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagrammatic representation of a transmission detection state machine;

FIGS. 2a, 2 b show a keyclick from a Type 3 aircraft and its envelope, respectively;

FIGS. 3a, 3 b show a keyclick from a Type 2 aircraft and its envelope, respectively,

FIGS. 4a, 4 b show a two pop keyclick from a Type 1 aircraft and its envelope, respectively;

FIGS. 5a, 5 b show a three pop keyclick from a Type 1 aircraft and its envelope, respectively;

FIGS. 6a, 6 b show a ground controller keyclick and its envelope, respectively;

FIG. 7 is a plot illustrating the calculation of secondary keyclick features, according to the preferred embodiment of this invention;

FIG. 8 is a scatter plot of the secondary features for keyclicks with two pops;

FIG. 9 is a scatter plot of the secondary features for keyclicks with three pops;

FIG. 10 is a diagram of a keyclick decision tree, according to the preferred embodiment of this invention;

FIG. 11 is a flow diagram of the steps of the keyclick recognition algorithm, according to the preferred embodiment of the invention disclosed in the cross-referenced application;

FIG. 12 is a flow diagram of the steps of the filter bank algorithm, according to the preferred embodiment of this invention;

FIG. 13 shows no-decision recognition test results for the filter bank recognition algorithm using a decision tree;

FIG. 14 shows no-decision recognition test results for the filter bank recognition algorithm using vector quantization;

FIG. 15 is a plot of a labeled transmission;

FIG. 16 is a plot of approximate keyclick boundaries;

FIG. 17 is a plot of precise keyclick boundaries;

FIG. 18 shows an envelope of the keyclick of FIG. 17;

FIG. 19 is a confusion matrix of recognition results using the preferred embodiment of the keyclick algorithm; and

FIG. 20 is a flow chart illustrating an embodiment of the keyclick algorithm of this invention and an embodiment of the filter bank algorithm of the cross-referenced invention operating in parallel on the same data.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

This invention pertains to algorithms within a system for emitter identification from radio signals (EMIRS) The system comprises a collection of digital signal processing algorithms which automatically detect, segment, and identify the on-off keying signatures of push-to-talk audio frequency transmitters. In sequence, the algorithms detect channel activity and the presence of gaps in speech transmission, segmenting the event from the accompanying speech signal; analyze the gaps for key features; and based on these features, perform a directed decision search through prestored, signal source signatures to determine the identity of the emitter. EMIRS was implemented on a SUN workstation and a VAX workstation using Unix and the C language.

By definition, audio band data are contained in a restricted bandwidth, usually 300 to 3000 Hz in width. The bandwidth can vary according to the range of transmission conditions and transmitters. Push-to-talk microphone and radio transmitter combinations frequently have unique keying features, and gaps in speech also frequently have unique spectral features. Generic classes of platforms usually are equipped with a given class of transmitters. It should be possible, therefore, to identify the emitting platform by detecting and identifying unintentional modulations or its unique spectral feature signature imposed on the transmission. In addition, classifying emitters based on unintentional modulations can enhance the correlation of identification data from willing sources.

Based on this logic, the algorithms of this invention were developed to automatically detect, segment, and identify these unique spectral and keying features. The accuracy of the resulting algorithm performance was based on the “ground truth” associated with several emitting platforms. Ground truth, as used here, means that the precise identification of the platform was known a priori from other sources. The development effort required finding appropriate databases to use in the investigation. An appropriate database requires that its data be realistic for the problem, and contain “ground truth” information. Two sample databases were located for development of these algorithms, each involving transmissions to or from aircraft. These will be designated DB ONE and DB TWO. The aircraft will be designated Type 1 through Type 6. A helicopter and ground control are also included in one or both of the databases.

The development also required finding appropriate features to extract the data bases for identification, and finding appropriate algorithms to carry out the identification. Feature selection involved examination of relevant data in both the time and frequency domains, and the expertise that could be offered by an operational linguist skilled at listening to such data. Since most transmissions were dominated by speech data, appropriate gaps had to be located, or techniques found to suppress the speech data. For operational data, the knowledge of a human expert was used.

Several major approaches to identification algorithms were used in these investigations. The first approach examined spectral features of transmission data. Significant recognition performance resulted from this approach, using a filterbank algorithm, which is the subject of this application. Performance of 80% or better at distinguishing the aircraft types involved (as identified by a human expert) was obtained.

The second approach investigated distinctive features in the time domain. The most distinctive features were the keyclicks which preceded and followed each transmission. Significant recognition performance also resulted from the second approach, using a keyclick algorithm, which is the subject of the cross-referenced application.

DB TWO KEYWORD DATA BASE INVESTIGATIONS

This approach to emitter identification from radio signals examined spectral features of transmission data. These included FFTs, bandpass filter energies (derived from FFTs), and spectral coefficients. Various means of representation, including spectrograms and three dimensional wavefall plots were utilized. It was clear from listening to DB TWO that there was relevant spectral information in that database. Therefore the spectral approach was adopted, using normalized energies in seven bandpass filters.

DB TWO is a keyword database assembled for keyword spotting algorithm development. It consists of transmissions of operational data with speech in a foreign language. “Ground truth” information is not included. A former communications operator served as the expert for this data to supply ground truth information for the transmissions. By listening to transmissions, and relying on his considerable experience as an operational linguist, he recognized sounds such as whines and hums which identified broad aircraft type. The expert listened to the data, and identified the following types of emitting platforms in these transmissions: ground transmissions, helicopter transmissions, or aircraft transmissions from one of three types of aircraft herein designated as Type 4, Type 5 or Type 6. These identifications served as “ground truth” to test the algorithms on this data.

Examination of time domain signals in DB TWO showed that these transmissions had keyclicks, but that the types of transmissions were not as readily distinguished by keyclicks as those examined in the data from DB ONE. In particular, all these keyclicks appeared to consist of just one pop. It was clear from preliminary listening tests that there was useful spectral information in the transmissions for identifying the various aircraft platforms, particularly in the speech gaps.

A preliminary investigation was performed using twenty transmissions of the DB TWO Keyword Database. The transmissions are described by Table 1. (For convenience, the tables appear at the end of this specification in numerical order.) Each transmission contains at least one gap as determined by a gap detection algorithm. A simple set of spectral features was chosen for gap detection. This set consisted of normalized energy per unit frequency in the following frequency bands:

50 to 500 Hz,

500 to 1000 Hz,

1000 to 1500 Hz,

1500 to 2000 Hz,

2000 to 2500 H

2500 to 3000 Hz, and

3000 to 4000 Hz.

The region from 0 to 50 Hz was neglected to minimize detrimental effects due to DC offsets.

ALGORITHM

FIG. 12 is a block diagram of the preferred embodiment of a Filter Bank algorithm 60, which is claimed in this application, and which was developed to identify the emitting platforms exemplified in the data of DB-TWO. The intercepted transmission data is fed to a fast fourier transform algorithm 61 for initial processing. A 256-point FFI was used with a frame rate of sixty-four (64) samples (8 μsec.). The gap detector 62 makes a decision for each frame based on the peak-to-average energy value of the frame, thus determining the boundaries of the gaps within transmissions. Only frames labeled “gap”, that is gaps in the speech signal, were processed further for feature extraction 63. Having extracted the features of each transmission, that is, the normalized energies in seven bandpass filters as indicated above, the feature file is processed for decision making 64. An output decision was made for each gap frame using a decision tree to determine an aircraft type from the frame's feature vector. The final transmission decision is the type most frequently chosen over all the gap frames of the transmission.

PERFORMANCE

Table 2 specifies recognition results where recognition was performed on each hand-labeled gap. Thus transmissions with several gaps had several recognition trials. If different gaps of a transmission had different recognition outcomes, the transmission is recognized as uncertain (U).

Table 3 specifies recognition results where recognition is performed on each transmission. Here gaps were determined automatically using a peak-to-average energy statistic.

KEYCLICK INVESTIGATIONS

In DB ONE it was found that the keydlicks of radio transmissions from aircraft in the audio frequency band, particularly the offclicks, contain useful information. It was found that the envelopes of such clicks consisted of a series of “pops”, corresponding to peaks. The number of pops in a keyclick and certain related features were used, along with a decision tree or vector quantization approach to identification. Performance at an 80% level for distinguishing among the aircraft types involved was obtained.

The keyclick investigations focused on finding discriminating features in the off-keyclicks of a platform's radio transmissions. The list of processes that comprise the Keyclick Identification algorithm are:

A. Transmission Detection.

B. Click Detection.

C. Feature Extraction and identification.

Even though transmission detection and keyclick detection are not involved in actual identification, they are processes whose performance cannot be taken for granted. For that reason, considerable effort was expended to develop effective transmission and keyclick recognizers in addition to identifying keyclick features and decision methods.

TRANSMISSION DETECTION

Transmission detection is accomplished through energy thresholding over 12 millisecond frames of data to determine the approximate boundaries of a transmission. The transmission detector is implemented as a state machine 10, illustrated in FIG. 1, with four states, 12, 14, 16 and 18. Two of the states corresponded to being within a transmission 16 and outside of a transmission 12. Two additional states 14, 18 are used for the transitions between the transmit-on and transmit-off states. The energy threshold which determines the state is related to an adaptive noise floor that is updated at least once every second. The noise floor is defined as the minimum frame energy during the past one second of data. If the noise floor remains unchanged for more than one second, it is reset to the minimum value over the past second, thus allowing the noise floor to adapt to changing levels of background noise. The noise floor adaptation is disabled while not in the transmit-off state. The energy threshold was set experimentally, as a constant multiplied by the noise floor.

The state machine transitions are defined as follows: While in the transmit-off state 12, if a frame's energy was greater than the energy threshold, the state changed to the transition state 14 from transmit-off to transmit-on. To reach the transmit-on state 16, three consecutive frames (36 milliseconds) of data must have energies above the defined threshold; otherwise the state machine 10 returns to the transmit-off state 12. While in the transmit-on state 16, a frame's energy below the threshold would cause the state machine to change to the transition state 18 from transmit-on to transmit-off state. To continue to the transmit-off state 12, twelve (12) consecutive frames (144 milliseconds) of data must have energy values below the energy threshold; otherwise the state machine 10 returns to the transmit-on state 18.

CLICK DETECTION

FIGS. 2a, 2 b through 6 a, 6 b show five off-keyclicks and their envelopes (as defined below), representative of the emitting platforms in DB ONE. Note that the envelopes each contain a sequence of “pops”, each pop corresponding to a peak.

An off-keyclick detector uses the approximate end-of-transmission boundary produced by the transmission detector as a rough estimate of the keyclick location. The 2048 points of data (205 milliseconds) surrounding the end-of-transmission are cross-correlated with a pop template over 1024 lags in the time domain. The template is a sinusoid whose amplitude is damped and whose frequency decays with time over a 128-sample period.

Since keyclicks are composed of a series of pops, analyzing the cross-correlation output for peaks reveals the locations in the end-of-transmission buffer that most resemble a “pop”. The first “pop” detected and the last “pop” detected in the cross-correlation output correspond to the precise boundaries of the keyclick in the end-of-transmission buffer.

FEATURE EXTRACTION AND IDENTIFICATION

The envelope of the keyclick was determined using a two-stage leaky integrator of the form

y[i]=w*y[i−1]+(1−w)*x[i]

where x[ ] is the input stream, y[ ] is the output stream, and w is the weight factor that is specified as an input parameter. Experimentation determined that two iterations of the integrator with w=0.9 followed by w=0.8 produce accurate envelopes.

The features used for identification are statistics derived from the envelope of the keyclick detected in the previous step. These statistics, illustrated in FIG. 7, are:

A Number of pops (peaks), labeled P1, P2, P3, contained in the keyclick;

B. The average ratio of each pop's amplitude to the first pop's amplitude:

Amplitude Ratio=P2/P1+P3/1/2, and

C. The average ratio of each pop's peak amplitude to its following valley, labeled V1, V2:

Peak to Valley Ratio P1/V1+P2/V2/2.

Identification of the keyclick was accomplished by applying the features extracted to one of two decision making routines explored. Scatter plots of these features are shown in FIGS. 8 and 9.

The first decision method is a simple decision tree routine. FIG. 10 is an illustration of the keyclick decision tree 20, as used in the preferred embodiment of this invention. The decision tree 20 was initially determined by observing a small set of transmissions, obtaining scatter plots of the features extracted and determining thresholds for each rule. The decision rules were slightly modified as more data was added and eventually frozen before running final tests on a completely new set of data. A set of rules was tested for each of the features extracted. Decision tree 20 has two levels, 22, 26. At the start 21, the first level 22 decision is made on the basis of the number of pops. After a decision on level 22, the next level 26 decision is made on the basis of secondary features. For example, if the number of pops found in a keyclick was greater than three, the keyclick was identified as belonging to a ground station 25. If there were three pops in the keyclick, it belonged to a Type 3 or a Type 1 aircraft, 24. If two pops were found, it was either a Type 2 or a Type 1 aircraft, 23. Secondary testing was then applied based on the location of the keyclick in the plane (cf. FIGS. 8, 9) defined by the remaining two features, peak-to-valley-ratio (PVR) and average-amplitude-ratio (AAR). In the case of a keyclick with three pops, if its location on the PVR-AAR plane is above the line:

PVR=M1* AAR+B1 (M1=0.05, B1=0.80),

where M1, B1 are the slope and intercept respectively, then it was identified as a Type 3, 29. If below the line, it is identified as a Type 1, 28. Similarly, with a keyclick consisting of two pops, if its location in the PVR-AAR plane is above the line:

PVR=M2* AAR+B2 (M2=0.227, B2=0.236),

where M2, B2 are the slope and intercept respectively, it is identified as a Type 1, 28. Otherwise, it is identified as a Type 2, 27. See FIG. 10.

FIG. 11 is a block diagram summarizing the algorithmic steps 40 of emitter identification from radio signals (EMIRS), using the keyclick algorithm with decision tree, according to the preferred embodiment of this invention. This embodiment of EMIRS processing can be summarized in the following algorithmic steps.

1. Detect channel activity 41;

2. Detect boundaries for transmitter keying 42;

3. Extract keying envelope 43;

4. Analyze for keying envelope features 44:

a. number of envelope peaks (pops);

b. determine amplitude ratios among peaks;

c. determine peak-to-valley ratios of envelope peaks; and

5. Execute the decision function based on the features extracted 45.

A second decision method investigated as an alternative to the decision tree of FIGS. 10, 11, was a Vector Quantization (VQ) approach. The same feature set was used as in the previous algorithm of FIG. 11. The training set used to create codebooks was the same used for initial recognition of the decision tree method. Codebooks with one, two, and four clusters were created for each platform type. During recognition, an input feature vector was scored with each codebook, returning the minimum distortion calculated. A decision was then made based on the distortion values returned for each platform. If no one distortion was significantly better then the rest, a no-decision was returned.

Finally, a report generation program was used to present the identification determination for each transmission and the cumulative results in a confusion matrix. (See FIG. 15.)

FINAL TESTING KEYCLICK INVESTIGATIONS

Final testing of the keyclick recognition and filter bank algorithms was performed on a set of data distinct from what had been used during algorithm development. One hundred new transmissions were selected, evenly distributed among four emitting platforms to be recognized. This first test performed was on the Decision Tree algorithm using automatic transmission and keyclick labeling capabilities. An improved transmission detector was used in this test. The confusion matrix in Table 4 shows the results with forced decisions (0% no-decision rate). A second test was run using band-labeled off-keyclicks from the final test set. The forced decision results are illustrated in Table 5.

Tests were run that varied the no-decision rates for the algorithm versions described above. FIG. 13 depicts the relative recognition levels for the algorithms (including an early version of the transmission detector) and the effects of changing decision rates. It was apparent that the no-decision capabilities had no significant effect on the Decision Tree algorithms.

The next set of tests involved the Vector Quantization (VQ) keyclick recognition module. In each case, the hand-labeled set of final test keyclicks was used (for comparison with the hand-labeled Decision Tree tests). The average click duration was about 500 samples, or 64 milliseconds. In these tests, training was performed on the set of data used for initial recognition in the Decision Tree investigations. This included 11 ground transmissions, 26 Type 3 aircraft transmissions, 16 Type 1 aircraft transmissions, and 36 Type 2 aircraft transmissions.

The three VQ experiments used codebooks containing one cluster center for each platform, two cluster centers per platform, and four cluster centers per platform The forced decision confusion matrices for the tests are shown in Tables 6, 7, and 8. The tables also show how many training instances were included in each cluster.

The results are surprising in that the test using a VQ codebook of size one out-performed the other two tests. The only difference between the first VQ test results and the second was the drop in Type 1 aircraft recognition. The final VQ test using a size four codebook gained slightly in Type 1 aircraft recognition, but not enough to raise total performance to the levels of the size one codebook test.

While the VQ recognition using multiple cluster codebooks were out-performed by the single cluster codebook, the effects of varied decision rates were more significant with the multiple cluster codebooks than the single cluster codebook. FIG. 14 shows the relative recognition results for no-decision rates of zero percent, five percent, and ten percent for each of the VQ tests.

Despite the slightly better performance of the Decision Tree algorithm to the VQ algorithm, it is believed that the VQ algorithm shows greater promise. It is believed that VQ performance can be improved with more experimentation while the Decision Tree results represent optimal performance. The lack of an effective no-decision capability for the Decision Tree is another shortfall in its comparison with VQ methods.

INTERPRETATION

The keyclick results on the final test data indicate that it is an effective algorithm for distinguishing aircraft types from transmissions of the type included in the database. The errors that occur are of three types: inaccurate transmission detection, inaccurate keyclick boundary determination, and confusions of Type 1 aircraft with Type 3 aircraft or Type 2 aircraft due to keyclicks where the number of pops does not determine the result.

Improved transmission detection eliminated most errors of the first type. It remains the case that performance improves, on the order of ten percent, when keyclick boundaries are hand-labeled. Therefore, further work must be done to improve the automatic keyclick boundary detection procedure.

The secondary features correctly resolve most potential confusions of Type 1 aircraft with Type 3 aircraft or Type 2 aircraft with the same number (three or two, respectively) of pops. Correcting the errors that do occur may be a more difficult problem.

CONCLUSIONS

Two algorithms for identifying transmission sources have been disclosed. One uses off-click signatures from audio transmissions. The second, developed using DB-TWO Keyword database, uses a digital filterbank. This section summarizes these algorithms.

DB-TWO KEYWORD DATABASE INVESTIGATIONS

The filter bank algorithm, shown in FIG. 12, developed for the Keyword Database (DB-TWO), operates on a set of preprocessed feature files representing the majority of the transmissions labeled so far. This algorithm is, in effect, an additional means of feature extraction for cases which cannot be decided using the keyclick algorithm. For this algorithm, the features extracted are the normalized energies in seven bandpass filters, which, on the basis of experimentation, are distinctively representative of different types of emitter platforms.

KEYCLICK RECOGNITION

In the keyclick recognition algorithm, as shown in FIG. 11, the following processes operate on each transmission in the data file:

A. Transmission Detection.

B. Click Detection

C. Feature Extraction and identification.

Transmission Detection

Transmission detection is accomplished through energy thresholding over 16 millisecond frames data to determine the approximate boundaries of a transmission. A labeled transmission, such as that in FIG. 15, is displayed as output from this step (41 in FIG. 11).

Click Detection

The off-keyclick detector 42 uses the approximate end-of-transmission boundary produced by the transmission detector as a rough estimate of the keyclick location. The end-of-transmission time and the surrounding 2048 points of data (0.25 seconds) are cross-correlated in the time domain with a pop template. Since keyclicks are composed of a series of pops, thresholding on the resulting cross correlation results in precise keyclick boundaries. The keyclick envelope 43 is determined using a two-stage leaky integrator. The envelope is displayed as in FIG. 18. Approximate and more precise keyclick boundaries, as suggested by FIGS. 16 and 17, respectively, are displayed as output from this step 43.

Feature Extraction and Identification

The features used for identification 44 are statistics derived from the envelope of the keyclick detected in the previous step 43. Identification of the keyclick is accomplished by applying the features extracted to one of two decision making routines explored 45.

A report generation program is used to present the identification determination for each transmission and the cumulative results in a confusion matrix such as that shown in FIG. 19.

PARALLEL OPERATIONS

FIG. 20 is a flow chart showing parallel operation 50 of embodiments of both algorithms. The same signal inputs 51 are processed by the key click algorithm and the filter bank algorithm simultaneously. In the keyclick algorithm, the keyclick boundaries are detected 61, the keyclick envelope is determined 63, the features, such as number or peaks, AAR and PVR, are extracted 54. Then the results of the processing thus far are sent to a decision module 58. Simultaneously, the input signal is processed by a fast fourier transform 55, the gaps are detected 56, and the features, such as normalized energies in seven bandpass filters, are extracted 57. The results of this processing are also sent to the decision module 58. The decision module can use either a decision tree or a vector quantization routine to make an identification decision based on the results of both algorithms.

The decision function used can be either a decision tree search or a codebook search, depending on the nature of the extracted features. Both function types were executed and work equally well. Similarly, EMIRS has two feature extraction functions which can be used separately or in tandem to identify the emitting platform.

EMIRS was implemented on a SUN workstation and a VAX workstation using Unix and the C language.

TABLE 1 RADC Keyword Database Transmissions. Number of Platform Transmissions Total Gaps Individual Tails H 4 7 2 Type 4 7 11 > = 4 Type 5 4 6 3 Type 6 5 7 3 Total 20 31 > = 12

TABLE 2 Recognition Results Using Hand-labeled Gaps. RECOGNIZED AS H Type 4 Type 5 Type 6 U TOTALS ACTUAL H 3 0 0 0 1 3/4 75% Type 0 5 1 0 1 5/7 71% 4 Type 0 0 4 0 0 4/4 100%  5 Type 0 0 0 5 0 5/5 100%  6 17/20 85%

TABLE 3 Recognition on Transmission Using Automatically Detected Gaps. RECOGNIZED AS H Type 4 Type 5 Type 6 TOTALS ACTUAL H 4 0 0 0 4/4 100%  Type 4 2 4 1 0 4/7 57% Type 5 0 0 3 1 3/4 75% Type 6 0 0 0 5 5/5 100%  16/20 80%

TABLE 4 Results for Improved Automatic Keyclick Detection with Decision Tree Ground Type 3 Type 1 Type 2 SCORE GROUND 20 3 0 2 20/25 80.00% Type 3 3 20 1 2 20/26 76.92% Type 1 7 0 18 0 18/25 72.00% Type 2 1 0 5 18 18/24 75.00% NO- 0/100 0.00% DECI- SIONS: TOTAL: 76/100 76.00%

TABLE 5 Results for Hand Labeled Keyclicks with Decision Tree Ground Type 3 Type 1 Type 2 SCORE GROUND 22 0 1 2 22/25 88.00% Type 3 1 22 1 2 22/26 84.62% Type 1 4 0 21 0 21/25 84.00% Type 2 1 0 3 20 20/24 83.33% NO- 0/100 0.00% DECI- SIONS: TOTAL: 85/100 85.00%

TABLE 6 Results for Hand Labeled Keyclicks with Vector Quantization Codebook Size One Training Cluster Ground Type 3 Type 1 Type 2 SCORE Sizes GROUND 19  0 5 1 19/25 76.00% 11 Type 3 0 22  3 1 22/26 84.62% 26 Type 1 0 0 25  0 25/25 100.00%  16 Type 2 0 1 7 16  16/24 66.67% 36 NO-DECISIONS:  0/100  0.00% TOTAL:  82/100 82.00%

TABLE 7 Results for Hand Labeled Keyclicks with Vector Quantization Codebook Size One Training Cluster Ground Type 3 Type 1 Type 2 SCORE Sizes GROUND 19  0 5 1 19/25 76.00%  5, 6 Type 3 1 22  1 2 22/26 84.62% 17, 9 Type 1 0 0 17  8 17/25 68.00%  7, 9 Type 2 0 0 8 16  16/24 66.67% 21, 15 NO-DECISIONS:  0/100  0.00% TOTAL:  74/100 74.00%

TABLE 8 Results for Hand Labeled Keyclicks with Vector Quantization Codebook Size One Training Cluster Ground Type 3 Type 1 Type 2 SCORE Sizes GROUND 18  1 4 2 18/25 72.00% 2, 3, 3, 3 Type 3 2 21  0 3 21/26 80.77% 6, 10, 5, 5 Type 1 0 0 21  4 21/25 84.00% 3, 4, 5, 4 Type 2 0 0 8 16  16/24 66.67% 6, 14, 6, 10 NO-DECISIONS:  0/100  0.00% TOTAL:  76/100 76.00% 

We claim:
 1. A system for emitter identification of a transmitting platform using spectral energy analysis, comprising: means to process recorded transmission activity on a radio channel in the audio frequency range with a fast fourier transform algorithm; means to detect gaps in speech during said transmissions; means to process said gaps to extract features characteristic of said transmitting platform from said gaps; and means to execute a decision function based on said extracted characteristic features to identify the platform of said transmitter based on said features.
 2. The system of claim 1, wherein said means to detect gaps in speech transmission activity comprises: means to calculate the peak-to-average energy value of each frame of a transmission.
 3. The system of claim 2, wherein said means to process said gaps to extract features characteristic of said transmitting platform from said gaps further comprises: means to analyze the normalized energy per unit frequency in a plurality of frequency bands.
 4. The system of claim 3, wherein said means to execute a decision function further comprises: means to establish a decision tree based on a database of past known identities.
 5. The system of claim 3, wherein said means to identify an emitting platform further comprises: means to utilize a vector quantization algorithm to determine minimum distortion of a current vector compared to past vectors.
 6. The system of claim 5, wherein said vector quantization algorithm comprises: at least one codebook having at least one cluster developed on the basis of training data; means to score said extracted features with each codebook; means to calculate the minimum distortion of said extracted features; and means to identify a platform based on said scores.
 7. The system of claim 1, further comprising: means to detect transmission activity on a radio channel in the audio frequency range; means to detect the boundaries of transmitter keyclicks at the beginning and end of said transmission; means to extract keying envelopes from said detected keyclick boundaries; means to analyze said keying envelopes to extract features characteristic of said keyclicks; and means to correlate identification of said emitter platforms based on said extracted spectral features with identification of said emitter platforms based on said extracted keyclick features.
 8. A method of emitter identification of a transmitting platform using spectral energy analysis, comprising the steps of: processing recorded transmission activity on a radio channel in the audio frequency range with a fast fourier transform algorithm; detecting gaps in speech during said transmissions; processing said gaps to extract features characteristic of said transmitting platform from said gaps; and executing a decision function based on said extracted characteristic features to identify the platform of said transmitter based on said features.
 9. The method of claim 8, wherein said step of detecting gaps in speech transmission activity further comprises the step of: calculating the peak-to-average energy value of each frame of a transmission.
 10. The method of claim 9, wherein said step of processing said gaps to extract features characteristic of said transmitting platform from said gaps further comprises the step of: analyzing the normalized energy per unit frequency in a plurality of frequency bands.
 11. The method of claim 10, wherein said step of executing a decision function further comprises the step of: establishing a decision tree based on a database of past known identities.
 12. The method of claim 11, wherein said step of identifying an emitting platform further comprises the step of: utilizing a vector quantization algorithm to determine minimum distortion of a current vector compared to past vectors.
 13. The method of claim 12, wherein said step of utilizing a vector quantization algorithm further comprises the steps of: using at least one codebook having at least one cluster developed on the basis of training data; means to scoring said extracted features with each codebook; calculating the minimum distortion of said extracted features; and identifying a platform based on said scores.
 14. The method of claim 8, further comprising the steps of: detecting transmission activity on a radio channel in the audio frequency range; detecting the boundaries of transmitter keyclicks at the beginning and end of said transmission; extracting keying envelopes from said detected keyclick boundaries; analyzing said keying envelopes to extract features characteristic of said keyclicks; and executing a decision function based on said extracted characteristic features to identify the platform of said transmitter based on the features of said keyclick.
 15. The method of claim 14, wherein said step of detecting transmission activity further comprises the steps of: selecting an adaptive noise floor; updating said noise floor periodically; determining an energy threshold of a transmission relative to said adaptive noise floor; determining the transitions from transmit on to transmit off relative to said adaptive noise floor, thereby determining end of transmission boundaries; and storing said end of transmission boundaries.
 16. The method of claim 15, wherein said step of detecting the boundaries of a transmitter keyclick further comprises the steps of analyzing said approximate end of transmission boundary to determine energy peaks; and cross-correlating said peaks with a template of known emitters, thereby detecting the precise boundaries of a keyclick.
 17. The method of claim 16, wherein said step of extracting a keying envelope further comprises the step of: developing an envelope around each peak using a leaky integration of the form: y[i]=w*y[i−1]+(1−w)*x[i] where x[ ] is the input stream, y[ ] is the output stream, and w is the weight factor that is specified as an input parameter.
 18. The method of claim 17, wherein said step of extracting features characteristic of keyclicks, further comprises the steps of: determining the number of peaks in each of said envelopes; calculating the average ratio of each peak to the first peak in each of said envelopes; and calculating the average ratio of each peak to its following valley in each of said envelopes; thereby extracting statistical data constituting said features.
 19. The method of claim 18, wherein said step of executing a decision function further comprises the steps of: establishing a decision tree based on scatter plots of past known identities; establishing a set of rules based on past analyses, and determining thresholds for said rules; and applying currently extracted features to a data base constructed with said rules and thresholds.
 20. The method of claim 18, wherein said step of identifying an emitting platform further comprises the step of: utilizing a vector quantization algorithm to determine minimum distortion of a current vector compared to past vectors. 